Telecommunications systems are carrying increasing amounts of information, both in long distance networks as well as in metropolitan and local area networks. At present, data traffic is growing much faster than voice traffic, and includes high bandwidth video signals. In addition to the requirement for equipment to carry increasing amounts of telecommunication traffic there is a need to bring this information from the long distance networks to businesses and to locations where it can be distributed to residences over access networks.
The equipment, which has been developed to carry large amounts of telecommunication traffic, includes fiber optic transport equipment that can carry high-speed telecommunication traffic. The data rates on fiber optic systems can range from millions of bits per second (Mb/s) to billions of bits per second (Gb/s). In addition, multiple wavelengths of light can be carried on an optical fiber using Wavelength Division Multiplexing (WDM) techniques.
The ability to carry large amounts of telecommunication traffic on an optical fiber solves the long-distance point-to-point transport problem, but does not address the issue of how to add and remove traffic from the high-speed data stream. Equipment for adding and removing traffic has been developed and is referred to as xe2x80x9cadd-dropxe2x80x9d multiplexers (ADMs).
Traditional designs for ADMs are based on the use of multiple interface cards which receive high-speed data streams, create a time division multiplex signal containing the multiple data streams, and route the time division multiplex signal to a cross-connect unit which can disassemble the data streams, remove or insert particular data streams, and send the signal to another interface card for transmission back into the networks. By aggregating the multiple data streams into a time division multiplexed data signal, the data rate of the time division multiplexed signal is by definition several times the rate of the maximum data rate supported by the interface cards. Traditional ADMs have proven adequate for interface data rates in the range of 155 Mb/s to 622 Mb/s.
However, optical signals of at least 2.4 Gb/s have become standard, and numerous problems arise with traditional ADMs due to the timing associated with the multiplexing and transmission of the high-speed signals between the interface cards and the cross-connect unit. Thus, there is a need for cross-connect equipment which can support multiple high-speed data streams (i.e., at least 2.4 Gb/s).
Standardized interfaces and transmission hierarchies for telecommunication signals have been developed and include Pleisochronous Digital Hierarchy (PDH), Synchronous Digital Hierarchy (SDH) standards, and Synchronous Optical Network (SONET). In addition to these telecommunication transport standards, standards have been developed for interconnecting businesses and computers within businesses. These Metropolitan and Local Area Network (MAN/LAN) standards include Ethernet, Gigabit Ethernet, Frame Relay, and Fiber Distributed Data Interface (FDDI). Other standards, such as Integrated Services Digital Network (ISDN) and Asynchronous Transfer Mode (ATM) have been developed for use at both levels.
Individual pieces of equipment can be purchased to support telecommunication or MAN/LAN standards. However, these devices generally either connect data streams using a single protocol or convert entire data streams from one protocol to another. Thus, there is a need for a device that can establish interconnectivity between interfaces at the MAN/LAN level, while providing cross-connection to interfaces at the telecommunication network level.
Multiple interfaces are presently supported in ADMs using different interface cards. High-speed interface cards must be inserted into particular slots in order to insure that the high-speed signals can be transported to and from the cross-connect unit and to and from the high-speed interface cards. It would be desirable to have a device in which all cards can support high-speed optical signals of at least 2.4 Gb/s, regardless of the card slot they are located in. Moreover, it would also be useful to have a device that would support routing, bridging, and concentration functions within MANs/LANs, as well as permitting access to telecommunication networks.
A data circuit is defined as all of the interface cards within a particular ADM that a particular data stream is transmitted to. If a particular interface card becomes inoperable, for example is removed, the data circuit becomes open. Thus, there is a need for a method and apparatus for rerouting data streams within the data circuit when one of the interface cards forming the data circuit becomes inoperable. Moreover, the makeup of the data circuit may be continually changing. Thus, there is a need for a method and apparatus for automatically updating the data circuit.
For the foregoing reasons, there is a need for a flexible cross-connect apparatus that includes a data plane and can support multiple high-speed optical interfaces in any card slot. Furthermore, the flexible cross-connect apparatus should establish connectivity between data cards and the telecommunication networks. Moreover, the flexible cross-connect apparatus should be able to maintain a data circuit by rerouting data streams when one interface card within the circuit becomes inoperable.
The present invention discloses a method and apparatus for automatically provisioning data stitching circuits within a network element (NE). Data circuits are defined as the interface cards within NE that are receiving a particular data stream. Data stitching circuits are defined as data circuits that are provided with a destination point and a next destination point for each interface card. The NE creates a data-stitching matrix that identifies a path (i.e., destination and next destination) for the data stream to follow. The matrix is used by a cross-connect to reroute the data stream around one or more inoperable interface cards. When interface cards within the NE request to be provisioned into or out of a data stitching circuit the NE automatically updates the data-stitching matrix.
According to one embodiment, a method for automatically provisioning data streams received by a network element to the devices within the network element that desire to receive the data stream is disclosed. The method including requesting provisioning data for each of the devices within the network element; receiving a response from each device, wherein the response indicates which of the data streams the device wants to receive; organizing all of the responses so as to create a list of devices for each data stream; computing a path for each data stream within the network element; and generating a matrix for each path, wherein for each leg of the path the matrix includes a source point and a destination point.
According to one embodiment, a method for routing data streams received at a network element to the appropriate devices within the network element is disclosed. The method includes determining devices installed within the network element; requesting provisioning data from each of the installed devices; receiving provisioning data from each of the installed devices, wherein the provisioning data includes the data streams the device wants to receive; computing a path for each data stream within the network element, the path including multiple legs with each leg consisting of a source point and a destination point; generating a matrix for each path, wherein the matrix includes a next destination point and a previous source point for each applicable leg; and routing a data stream to the appropriate devices within the network element based on the matrix for the data stream.
According to one embodiment, a computer program embodied on a computer readable medium for automatically provisioning data streams received by a network element to the devices within the network element that desire to receive the data stream is disclosed. The computer program includes a code segment for requesting provisioning data for each of the devices within the network element; a code segment for receiving a response from each device, wherein the response indicates which of the data streams the device wants to receive a code segment for organizing all of the responses so as to create a list of devices for each data stream; a code segment for computing a path for each data stream within the network element; and a code segment for generating a matrix for each path, wherein for each leg of the path the matrix includes a source point and a destination point.
According to one embodiment, a computer program embodied on a computer readable medium for routing data streams received at a network element to the appropriate devices within the network element is disclosed. The computer program includes a code segment for determining devices installed within the network element; a code segment for requesting provisioning data from each of the installed devices; a code segment for receiving provisioning data from each of the installed devices, wherein the provisioning data includes the data streams the device wants to receive; a code segment for computing a path for each data stream within the network element, the path including multiple legs with each leg consisting of a source point and a destination point; a code segment for generating a matrix for each path, wherein the matrix includes a next destination point and a previous source point for each applicable leg; and a code segment for routing a data stream to the appropriate devices within the network element based on the matrix for the data stream.
According to one embodiment, a network element capable of automatically provisioning a data circuit is disclosed. The network element includes a plurality of interface cards for receiving and transmitting data streams; a cross-connect for connecting each of the plurality of interface cards to each other; a backplane for connecting each of the plurality of interface cards to the cross-connect; and a control unit for controlling the operation of the network element including requesting and receiving provisioning data from the plurality of interface cards, defining a data circuit based on the interface cards wishing to receive a particular data stream, determining a path for the particular data stream to follow in order to traverse each interface card within the data circuit, defining the path in a matrix for the cross-connect to use in routing the data stream, wherein the matrix includes for each port of the cross-connect associated with an interface card that is part of the data circuit a source port and a destination port, and storing the matrix.
According to one embodiment, an apparatus for generating a matrix that defines how a data stream should be routed within a network element is disclosed. The apparatus includes means for obtaining provisioning data from a plurality of interface cards; means for defining a data circuit based on the obtained provisioning data as those interface cards desiring to receive the data stream; means for determining an order for the data stream to traverse all the interface cards within the data circuit; and means for generating the matrix based on the order.